package com.lp.biz.member.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serial;
import lombok.Data;

/**
 * member实体类
 * 用户
 * @program: backend
 * @author Ke.Song
 * @since 2024-05-19 00:17:05
 */
@Data
@TableName("member")
public class Member implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 账号
     */
    @TableField("`account`")
    private String account;

    /**
     * 密码
     */
    @TableField("`password`")
    private String password;

    /**
     * 生日
     */
    private LocalDate birthday;

    /**
     * 性别,0: 女，1：男
     */
    private Integer sex;

    private String phone;

    private String openId;

    private String unionId;

    /**
     * 头像
     */
    private String icon;

    /**
     * 简介
     */
    @TableField("`profile`")
    private String profile;

    /**
     * 推荐人
     */
    private Integer invitation;

    /**
     * 自己的推荐码
     */
    @TableField("`code`")
    private String code;

    /**
     * 累计收入
     */
    private BigDecimal income;

    /**
     * 提现
     */
    private BigDecimal withdrawal;

    /**
     * 余额
     */
    private BigDecimal balance;

    /**
     * 是否是会员
     */
    private Integer isMembers;

    /**
     * 会员有效期
     */
    private LocalDate membersExpiryAt;

    /**
     * 在线时长
     */
    private Integer onlineTime;

    /**
     * 字数
     */
    private Integer wordNum;

    /**
     * 佣金比例
     */
    private BigDecimal rate;

    /**
     * 创建时间
     */
    private LocalDateTime createAt;

    /**
     * 最后登录时间
     */
    private LocalDateTime lastLoginTime;
}
